package array

import (
	"soluty.cc/go/godash/types"
)

// (number): 返回找到元素的 索引值（index），否则返回 -1。
func FindIndex(array []T, predicate types.Predicate, fromIndex ...int) int {
	startIndex := 0
	if len(fromIndex) > 0 {
		startIndex = fromIndex[0]
	}
	if startIndex < 0 {
		startIndex = 0
	}
	if startIndex > len(array)-1 {
		return -1
	}
	var ret = -1
	for i := startIndex; i < len(array); i++ {
		if predicate(array[i], i, array) {
			ret = i
			break
		}
	}
	return ret
}
